// vite.config.js
import { resolve } from "node:path";
import UnoCSS from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/unocss/dist/vite.mjs";
import { defineConfig, loadEnv } from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/vite/dist/node/index.js";
import vueSetupExtend from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/vite-plugin-vue-setup-extend/dist/index.mjs";

// build/plugin/index.js
import vue from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/@vitejs/plugin-vue/dist/index.mjs";

// build/plugin/analyze.js
import { visualizer } from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/rollup-plugin-visualizer/dist/plugin/index.js";
function ConfigAnalyzePlugin() {
  return visualizer({
    filename: "./build/analyze/stats.html",
    open: false,
    // 是否打开分析页面
    gzipSize: true,
    brotliSize: true
  });
}

// build/plugin/component.js
import { ArcoResolver } from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/unplugin-vue-components/dist/resolvers.js";
import Components from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/unplugin-vue-components/dist/vite.js";
function AutoRegistryComponents() {
  return Components({
    dts: false,
    // 不适用ts，不生产d.ts文件
    resolvers: [
      ArcoResolver({
        importStyle: false,
        // 关闭默认样式导入，使用全局引入的样式文件
        resolveIcons: false
        // 开启 @antd-icon 自动引入
      })
    ]
  });
}

// build/plugin/compress.js
import { compression } from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/vite-plugin-compression2/dist/index.mjs";
function ConfigCompressPlugin() {
  return compression({
    deleteOriginalAssets: false,
    // 是否删除源文件
    threshold: 1024 * 50,
    // 启用gzip压缩阈值大小（kb）
    algorithm: "gzip"
    // 压缩算法
  });
}

// build/plugin/eslint.js
import viteChecker from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/vite-plugin-checker/dist/esm/main.js";
function ConfigEslintPlugin() {
  return viteChecker({
    overlay: {
      initialIsOpen: false
    },
    eslint: {
      lintCommand: 'eslint "src/**/*.{js,ts,vue}"',
      useFlatConfig: true,
      dev: {
        logLevel: ["warning"]
      }
    }
  });
}

// build/plugin/legacy.js
import legacy from "file:///D:/gitee_project/cyberLottery/frontend/node_modules/@vitejs/plugin-legacy/dist/index.mjs";

// postcss.config.js
var overrideBrowserslist = ["> 1%", "last 6 versions", "not dead", "not ie 11", "Chrome > 60"];
var postcss_config_default = {
  browsersList: overrideBrowserslist,
  // 仅用于Vite项目build.plugin使用
  plugins: {
    autoprefixer: {
      overrideBrowserslist
    }
  }
};

// build/plugin/legacy.js
function ConfigLegacyPlugin() {
  return legacy({
    // 兼容版本，引用postcss.config.js中的参数，且设置了默认值
    targets: postcss_config_default.browsersList || ["defaults", "not IE 11"]
  });
}

// build/plugin/index.js
function createVitePlugins(loadEnv2) {
  const { VITE_ANALYSIS, VITE_COMPRESSION, VITE_LEGACY } = loadEnv2;
  const vitePlugins = [
    // vue支持
    vue()
  ];
  vitePlugins.push(AutoRegistryComponents());
  vitePlugins.push(ConfigEslintPlugin());
  VITE_COMPRESSION && vitePlugins.push(ConfigCompressPlugin());
  VITE_ANALYSIS && vitePlugins.push(ConfigAnalyzePlugin());
  VITE_LEGACY && vitePlugins.push(ConfigLegacyPlugin());
  return vitePlugins;
}

// build/proxy.js
var httpsRE = /^https:\/\//;
function createProxy(list = []) {
  const ret = {};
  for (const [prefix, target] of list) {
    const isHttps = httpsRE.test(target);
    ret[prefix] = {
      target,
      changeOrigin: true,
      ws: true,
      rewrite: (path) => path.replace(new RegExp(`^${prefix}`), ""),
      // https is require secure=false
      ...isHttps ? { secure: false } : {}
    };
  }
  return ret;
}

// build/utils.js
function wrapperEnv(envConf) {
  const ret = {};
  for (const envName of Object.keys(envConf)) {
    let realName = envConf[envName].replace(/\\n/g, "\n");
    realName = realName === "true" ? true : realName === "false" ? false : realName;
    if (envName === "VITE_PORT") {
      realName = Number(realName);
    }
    if (envName === "VITE_PROXY" && realName) {
      try {
        realName = JSON.parse(realName.replace(/'/g, '"'));
      } catch (error) {
        realName = "";
      }
    }
    ret[envName] = realName;
    if (typeof realName === "string") {
      process.env[envName] = realName;
    } else if (typeof realName === "object") {
      process.env[envName] = JSON.stringify(realName);
    }
  }
  return ret;
}

// package.json
var name = "vue3-vite";
var version = "3.0.0";
var engines = {
  node: ">=18.20.0",
  yarn: ">=1.22.0",
  pnpm: ">=9"
};

// vite.config.js
function pathResolve(dir) {
  return resolve(process.cwd(), ".", dir);
}
var vite_config_default = defineConfig(({ command, mode }) => {
  const isBuild = command === "build";
  const env = loadEnv(mode, process.cwd(), "");
  const viteEnv = wrapperEnv(env);
  const { VITE_PUBLIC_PATH, VITE_PORT, VITE_PROXY, VITE_DROP_CONSOLE } = viteEnv;
  return {
    base: VITE_PUBLIC_PATH,
    resolve: {
      alias: [
        {
          find: /@wails\//,
          replacement: `${pathResolve("bindings/cyberLottery/backend")}/`
        },
        {
          find: /@\//,
          replacement: `${pathResolve("src")}/`
        }
      ]
    },
    css: {
      devSourcemap: !isBuild
    },
    // 本地跨域代理 https://cn.vitejs.dev/config/server-options.html#server-proxy
    server: {
      port: VITE_PORT,
      host: true,
      open: false,
      // Load proxy configuration from .env
      proxy: createProxy(VITE_PROXY),
      // 预热文件以提前转换和缓存结果，降低启动期间的初始页面加载时长并防止转换瀑布
      warmup: {
        clientFiles: ["./index.html", "./src/{views,components}/*.1"]
      }
    },
    plugins: [...createVitePlugins(viteEnv), UnoCSS(), vueSetupExtend()],
    define: {
      // 获取项目信息， window.__APP_INFO__
      __APP_INFO__: JSON.stringify({
        name,
        version,
        engines,
        lastBuildTime: (/* @__PURE__ */ new Date()).toLocaleString()
      })
    },
    build: {
      // 消除打包大小超过500kb警告
      chunkSizeWarningLimit: 3e3,
      rollupOptions: {
        // 静态资源分类打包
        output: {
          chunkFileNames: "static/js/[name]-[hash].js",
          entryFileNames: "static/js/[name]-[hash].js",
          assetFileNames: "static/[ext]/[name]-[hash].[ext]"
        }
      }
    },
    esbuild: {
      pure: VITE_DROP_CONSOLE ? ["console.log", "debugger"] : []
    }
  };
});
export {
  vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAiYnVpbGQvcGx1Z2luL2luZGV4LmpzIiwgImJ1aWxkL3BsdWdpbi9hbmFseXplLmpzIiwgImJ1aWxkL3BsdWdpbi9jb21wb25lbnQuanMiLCAiYnVpbGQvcGx1Z2luL2NvbXByZXNzLmpzIiwgImJ1aWxkL3BsdWdpbi9lc2xpbnQuanMiLCAiYnVpbGQvcGx1Z2luL2xlZ2FjeS5qcyIsICJwb3N0Y3NzLmNvbmZpZy5qcyIsICJidWlsZC9wcm94eS5qcyIsICJidWlsZC91dGlscy5qcyIsICJwYWNrYWdlLmpzb24iXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFx2aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovZ2l0ZWVfcHJvamVjdC9MZWFndWVCYXJkL2Zyb250ZW5kL3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCdcclxuaW1wb3J0IFVub0NTUyBmcm9tICd1bm9jc3Mvdml0ZSdcclxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBsb2FkRW52IH0gZnJvbSAndml0ZSdcclxuaW1wb3J0IHZ1ZVNldHVwRXh0ZW5kIGZyb20gJ3ZpdGUtcGx1Z2luLXZ1ZS1zZXR1cC1leHRlbmQnXHJcbmltcG9ydCB7IGNyZWF0ZVZpdGVQbHVnaW5zIH0gZnJvbSAnLi9idWlsZC9wbHVnaW4nXHJcbmltcG9ydCB7IGNyZWF0ZVByb3h5IH0gZnJvbSAnLi9idWlsZC9wcm94eSdcclxuaW1wb3J0IHsgd3JhcHBlckVudiB9IGZyb20gJy4vYnVpbGQvdXRpbHMnXHJcbmltcG9ydCB7IGVuZ2luZXMsIG5hbWUsIHZlcnNpb24gfSBmcm9tICcuL3BhY2thZ2UuanNvbidcclxuXHJcbmZ1bmN0aW9uIHBhdGhSZXNvbHZlKGRpcikge1xyXG4gIHJldHVybiByZXNvbHZlKHByb2Nlc3MuY3dkKCksICcuJywgZGlyKVxyXG59XHJcblxyXG4vLyBodHRwczovL3ZpdGVqcy5kZXYvY29uZmlnL1xyXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcoKHsgY29tbWFuZCwgbW9kZSB9KSA9PiB7XHJcbiAgY29uc3QgaXNCdWlsZCA9IGNvbW1hbmQgPT09ICdidWlsZCdcclxuICBjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHByb2Nlc3MuY3dkKCksICcnKVxyXG5cclxuICAvLyBcdThGNkNcdTYzNjJsb2FkRW52XHU0RTJEXHU3Njg0XHU1M0MyXHU2NTcwXHU3QzdCXHU1NzhCXHJcbiAgY29uc3Qgdml0ZUVudiA9IHdyYXBwZXJFbnYoZW52KVxyXG4gIGNvbnN0IHsgVklURV9QVUJMSUNfUEFUSCwgVklURV9QT1JULCBWSVRFX1BST1hZLCBWSVRFX0RST1BfQ09OU09MRSB9ID0gdml0ZUVudlxyXG5cclxuICByZXR1cm4ge1xyXG4gICAgYmFzZTogVklURV9QVUJMSUNfUEFUSCxcclxuICAgIHJlc29sdmU6IHtcclxuICAgICAgYWxpYXM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaW5kOiAvQHdhaWxzXFwvLyxcclxuICAgICAgICAgIHJlcGxhY2VtZW50OiBgJHtwYXRoUmVzb2x2ZSgnYmluZGluZ3MvTGVhZ3VlQmFyZC9iYWNrZW5kJyl9L2AsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBmaW5kOiAvQFxcLy8sXHJcbiAgICAgICAgICByZXBsYWNlbWVudDogYCR7cGF0aFJlc29sdmUoJ3NyYycpfS9gLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9LFxyXG5cclxuICAgIGNzczoge1xyXG4gICAgICBkZXZTb3VyY2VtYXA6ICFpc0J1aWxkLFxyXG4gICAgfSxcclxuXHJcbiAgICAvLyBcdTY3MkNcdTU3MzBcdThERThcdTU3REZcdTRFRTNcdTc0MDYgaHR0cHM6Ly9jbi52aXRlanMuZGV2L2NvbmZpZy9zZXJ2ZXItb3B0aW9ucy5odG1sI3NlcnZlci1wcm94eVxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIHBvcnQ6IFZJVEVfUE9SVCxcclxuICAgICAgaG9zdDogdHJ1ZSxcclxuICAgICAgb3BlbjogZmFsc2UsXHJcbiAgICAgIC8vIExvYWQgcHJveHkgY29uZmlndXJhdGlvbiBmcm9tIC5lbnZcclxuICAgICAgcHJveHk6IGNyZWF0ZVByb3h5KFZJVEVfUFJPWFkpLFxyXG4gICAgICAvLyBcdTk4ODRcdTcwRURcdTY1ODdcdTRFRjZcdTRFRTVcdTYzRDBcdTUyNERcdThGNkNcdTYzNjJcdTU0OENcdTdGMTNcdTVCNThcdTdFRDNcdTY3OUNcdUZGMENcdTk2NERcdTRGNEVcdTU0MkZcdTUyQThcdTY3MUZcdTk1RjRcdTc2ODRcdTUyMURcdTU5Q0JcdTk4NzVcdTk3NjJcdTUyQTBcdThGN0RcdTY1RjZcdTk1N0ZcdTVFNzZcdTk2MzJcdTZCNjJcdThGNkNcdTYzNjJcdTcwMTFcdTVFMDNcclxuICAgICAgd2FybXVwOiB7XHJcbiAgICAgICAgY2xpZW50RmlsZXM6IFsnLi9pbmRleC5odG1sJywgJy4vc3JjL3t2aWV3cyxjb21wb25lbnRzfS8qLjEnXSxcclxuICAgICAgfSxcclxuICAgIH0sXHJcblxyXG4gICAgcGx1Z2luczogWy4uLmNyZWF0ZVZpdGVQbHVnaW5zKHZpdGVFbnYpLCBVbm9DU1MoKSwgdnVlU2V0dXBFeHRlbmQoKV0sXHJcblxyXG4gICAgZGVmaW5lOiB7XHJcbiAgICAgIC8vIFx1ODNCN1x1NTNENlx1OTg3OVx1NzZFRVx1NEZFMVx1NjA2Rlx1RkYwQyB3aW5kb3cuX19BUFBfSU5GT19fXHJcbiAgICAgIF9fQVBQX0lORk9fXzogSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgIG5hbWUsXHJcbiAgICAgICAgdmVyc2lvbixcclxuICAgICAgICBlbmdpbmVzLFxyXG4gICAgICAgIGxhc3RCdWlsZFRpbWU6IG5ldyBEYXRlKCkudG9Mb2NhbGVTdHJpbmcoKSxcclxuICAgICAgfSksXHJcbiAgICB9LFxyXG5cclxuICAgIGJ1aWxkOiB7XHJcbiAgICAgIC8vIFx1NkQ4OFx1OTY2NFx1NjI1M1x1NTMwNVx1NTkyN1x1NUMwRlx1OEQ4NVx1OEZDNzUwMGtiXHU4QjY2XHU1NDRBXHJcbiAgICAgIGNodW5rU2l6ZVdhcm5pbmdMaW1pdDogMzAwMCxcclxuICAgICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICAgIC8vIFx1OTc1OVx1NjAwMVx1OEQ0NFx1NkU5MFx1NTIwNlx1N0M3Qlx1NjI1M1x1NTMwNVxyXG4gICAgICAgIG91dHB1dDoge1xyXG4gICAgICAgICAgY2h1bmtGaWxlTmFtZXM6ICdzdGF0aWMvanMvW25hbWVdLVtoYXNoXS5qcycsXHJcbiAgICAgICAgICBlbnRyeUZpbGVOYW1lczogJ3N0YXRpYy9qcy9bbmFtZV0tW2hhc2hdLmpzJyxcclxuICAgICAgICAgIGFzc2V0RmlsZU5hbWVzOiAnc3RhdGljL1tleHRdL1tuYW1lXS1baGFzaF0uW2V4dF0nLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG5cclxuICAgIGVzYnVpbGQ6IHtcclxuICAgICAgcHVyZTogVklURV9EUk9QX0NPTlNPTEUgPyBbJ2NvbnNvbGUubG9nJywgJ2RlYnVnZ2VyJ10gOiBbXSxcclxuICAgIH0sXHJcbiAgfVxyXG59KVxyXG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFxwbHVnaW5cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFxwbHVnaW5cXFxcaW5kZXguanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L2dpdGVlX3Byb2plY3QvTGVhZ3VlQmFyZC9mcm9udGVuZC9idWlsZC9wbHVnaW4vaW5kZXguanNcIjsvKipcbiAqIEBuYW1lIGNyZWF0ZVZpdGVQbHVnaW5zXG4gKiBAZGVzY3JpcHRpb24gXHU1QzAxXHU4OEM1cGx1Z2luc1x1NjU3MFx1N0VDNFx1N0VERlx1NEUwMFx1OEMwM1x1NzUyOFxuICovXG5pbXBvcnQgdnVlIGZyb20gJ0B2aXRlanMvcGx1Z2luLXZ1ZSdcbmltcG9ydCB7IENvbmZpZ0FuYWx5emVQbHVnaW4gfSBmcm9tICcuL2FuYWx5emUnXG5pbXBvcnQgeyBBdXRvUmVnaXN0cnlDb21wb25lbnRzIH0gZnJvbSAnLi9jb21wb25lbnQnXG5pbXBvcnQgeyBDb25maWdDb21wcmVzc1BsdWdpbiB9IGZyb20gJy4vY29tcHJlc3MnXG5pbXBvcnQgeyBDb25maWdFc2xpbnRQbHVnaW4gfSBmcm9tICcuL2VzbGludCdcbmltcG9ydCB7IENvbmZpZ0xlZ2FjeVBsdWdpbiB9IGZyb20gJy4vbGVnYWN5J1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVml0ZVBsdWdpbnMobG9hZEVudikge1xuICBjb25zdCB7IFZJVEVfQU5BTFlTSVMsIFZJVEVfQ09NUFJFU1NJT04sIFZJVEVfTEVHQUNZIH0gPSBsb2FkRW52XG4gIGNvbnN0IHZpdGVQbHVnaW5zID0gW1xuICAgIC8vIHZ1ZVx1NjUyRlx1NjMwMVxuICAgIHZ1ZSgpLFxuICBdXG5cbiAgLy8gXHU4MUVBXHU1MkE4XHU2MzA5XHU5NzAwXHU1RjE1XHU1MTY1XHU3RUM0XHU0RUY2XG4gIHZpdGVQbHVnaW5zLnB1c2goQXV0b1JlZ2lzdHJ5Q29tcG9uZW50cygpKVxuXG4gIC8vIFx1N0YxNlx1OEJEMVx1NjVGNlx1NTQyRlx1NzUyOGVzbGludFxuICB2aXRlUGx1Z2lucy5wdXNoKENvbmZpZ0VzbGludFBsdWdpbigpKVxuXG4gIC8vIGd6aXBcdTUzOEJcdTdGMjlcbiAgVklURV9DT01QUkVTU0lPTiAmJiB2aXRlUGx1Z2lucy5wdXNoKENvbmZpZ0NvbXByZXNzUGx1Z2luKCkpXG5cbiAgLy8gXHU1MzA1XHU0RjlEXHU4RDU2XHU1MjA2XHU2NzkwXG4gIFZJVEVfQU5BTFlTSVMgJiYgdml0ZVBsdWdpbnMucHVzaChDb25maWdBbmFseXplUGx1Z2luKCkpXG5cbiAgLy8gXHU1MTdDXHU1QkI5XHU0RjRFXHU3MjQ4XHU2NzJDXHU2RDRGXHU4OUM4XHU1NjY4XG4gIFZJVEVfTEVHQUNZICYmIHZpdGVQbHVnaW5zLnB1c2goQ29uZmlnTGVnYWN5UGx1Z2luKCkpXG5cbiAgcmV0dXJuIHZpdGVQbHVnaW5zXG59XG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFxwbHVnaW5cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFxwbHVnaW5cXFxcYW5hbHl6ZS5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovZ2l0ZWVfcHJvamVjdC9MZWFndWVCYXJkL2Zyb250ZW5kL2J1aWxkL3BsdWdpbi9hbmFseXplLmpzXCI7LyoqXG4gKiBAbmFtZSAgQ29uZmlnQW5hbHl6ZVBsdWdpblxuICogQGRlc2NyaXB0aW9uIFx1NTMwNVx1NEY5RFx1OEQ1Nlx1NTIwNlx1Njc5MFxuICovXG5pbXBvcnQgeyB2aXN1YWxpemVyIH0gZnJvbSAncm9sbHVwLXBsdWdpbi12aXN1YWxpemVyJ1xuXG5leHBvcnQgZnVuY3Rpb24gQ29uZmlnQW5hbHl6ZVBsdWdpbigpIHtcbiAgcmV0dXJuIHZpc3VhbGl6ZXIoe1xuICAgIGZpbGVuYW1lOiAnLi9idWlsZC9hbmFseXplL3N0YXRzLmh0bWwnLFxuICAgIG9wZW46IGZhbHNlLCAvLyBcdTY2MkZcdTU0MjZcdTYyNTNcdTVGMDBcdTUyMDZcdTY3OTBcdTk4NzVcdTk3NjJcbiAgICBnemlwU2l6ZTogdHJ1ZSxcbiAgICBicm90bGlTaXplOiB0cnVlLFxuICB9KVxufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcXFxccGx1Z2luXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcXFxccGx1Z2luXFxcXGNvbXBvbmVudC5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovZ2l0ZWVfcHJvamVjdC9MZWFndWVCYXJkL2Zyb250ZW5kL2J1aWxkL3BsdWdpbi9jb21wb25lbnQuanNcIjtpbXBvcnQgeyBBcmNvUmVzb2x2ZXIgfSBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnMnXG4vKipcbiAqIEBuYW1lICBBdXRvUmVnaXN0cnlDb21wb25lbnRzXG4gKiBAZGVzY3JpcHRpb24gXHU2MzA5XHU5NzAwXHU1MkEwXHU4RjdEXHVGRjBDXHU4MUVBXHU1MkE4XHU1RjE1XHU1MTY1XHU3RUM0XHU0RUY2XG4gKi9cbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnXG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRvUmVnaXN0cnlDb21wb25lbnRzKCkge1xuICByZXR1cm4gQ29tcG9uZW50cyh7XG4gICAgZHRzOiBmYWxzZSwgLy8gXHU0RTBEXHU5MDAyXHU3NTI4dHNcdUZGMENcdTRFMERcdTc1MUZcdTRFQTdkLnRzXHU2NTg3XHU0RUY2XG4gICAgcmVzb2x2ZXJzOiBbXG4gICAgICBBcmNvUmVzb2x2ZXIoe1xuICAgICAgICBpbXBvcnRTdHlsZTogZmFsc2UsIC8vIFx1NTE3M1x1OTVFRFx1OUVEOFx1OEJBNFx1NjgzN1x1NUYwRlx1NUJGQ1x1NTE2NVx1RkYwQ1x1NEY3Rlx1NzUyOFx1NTE2OFx1NUM0MFx1NUYxNVx1NTE2NVx1NzY4NFx1NjgzN1x1NUYwRlx1NjU4N1x1NEVGNlxuICAgICAgICByZXNvbHZlSWNvbnM6IGZhbHNlLCAvLyBcdTVGMDBcdTU0MkYgQGFudGQtaWNvbiBcdTgxRUFcdTUyQThcdTVGMTVcdTUxNjVcbiAgICAgIH0pLFxuICAgIF0sXG4gIH0pXG59XG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFxwbHVnaW5cIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFxwbHVnaW5cXFxcY29tcHJlc3MuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L2dpdGVlX3Byb2plY3QvTGVhZ3VlQmFyZC9mcm9udGVuZC9idWlsZC9wbHVnaW4vY29tcHJlc3MuanNcIjsvKipcbiAqIEBuYW1lIENvbmZpZ0NvbXByZXNzUGx1Z2luXG4gKiBAZGVzY3JpcHRpb24gXHU1RjAwXHU1NDJGLmd6XHU1MzhCXHU3RjI5XG4gKi9cbmltcG9ydCB7IGNvbXByZXNzaW9uIH0gZnJvbSAndml0ZS1wbHVnaW4tY29tcHJlc3Npb24yJ1xuXG5leHBvcnQgZnVuY3Rpb24gQ29uZmlnQ29tcHJlc3NQbHVnaW4oKSB7XG4gIHJldHVybiBjb21wcmVzc2lvbih7XG4gICAgZGVsZXRlT3JpZ2luYWxBc3NldHM6IGZhbHNlLCAvLyBcdTY2MkZcdTU0MjZcdTUyMjBcdTk2NjRcdTZFOTBcdTY1ODdcdTRFRjZcbiAgICB0aHJlc2hvbGQ6IDEwMjQgKiA1MCwgLy8gXHU1NDJGXHU3NTI4Z3ppcFx1NTM4Qlx1N0YyOVx1OTYwOFx1NTAzQ1x1NTkyN1x1NUMwRlx1RkYwOGtiXHVGRjA5XG4gICAgYWxnb3JpdGhtOiAnZ3ppcCcsIC8vIFx1NTM4Qlx1N0YyOVx1N0I5N1x1NkNENVxuICB9KVxufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcXFxccGx1Z2luXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcXFxccGx1Z2luXFxcXGVzbGludC5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovZ2l0ZWVfcHJvamVjdC9MZWFndWVCYXJkL2Zyb250ZW5kL2J1aWxkL3BsdWdpbi9lc2xpbnQuanNcIjsvKipcbiAqIEBuYW1lIENvbmZpZ0VzbGludFBsdWdpblxuICogQGRlc2NyaXB0aW9uIFx1NUYwMFx1NTNEMVx1NzNBRlx1NTg4M1x1N0YxNlx1OEJEMVx1NjVGNlx1NTQyRlx1NzUyOGVzbGludFxuICovXG5pbXBvcnQgdml0ZUNoZWNrZXIgZnJvbSAndml0ZS1wbHVnaW4tY2hlY2tlcidcblxuZXhwb3J0IGZ1bmN0aW9uIENvbmZpZ0VzbGludFBsdWdpbigpIHtcbiAgcmV0dXJuIHZpdGVDaGVja2VyKHtcbiAgICBvdmVybGF5OiB7XG4gICAgICBpbml0aWFsSXNPcGVuOiBmYWxzZSxcbiAgICB9LFxuICAgIGVzbGludDoge1xuICAgICAgbGludENvbW1hbmQ6ICdlc2xpbnQgXCJzcmMvKiovKi57anMsdHMsdnVlfVwiJyxcbiAgICAgIHVzZUZsYXRDb25maWc6IHRydWUsXG4gICAgICBkZXY6IHtcbiAgICAgICAgbG9nTGV2ZWw6IFsnd2FybmluZyddLFxuICAgICAgfSxcbiAgICB9LFxuICB9KVxufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcXFxccGx1Z2luXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcXFxccGx1Z2luXFxcXGxlZ2FjeS5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovZ2l0ZWVfcHJvamVjdC9MZWFndWVCYXJkL2Zyb250ZW5kL2J1aWxkL3BsdWdpbi9sZWdhY3kuanNcIjsvKipcbiAqIEBuYW1lIENvbmZpZ0xlZ2FjeVBsdWdpblxuICogQGRlc2NyaXB0aW9uIFx1NEY0RVx1NzI0OFx1NjcyQ1x1NkQ0Rlx1ODlDOFx1NTY2OFx1NTE3Q1x1NUJCOSBDaHJvbWUgPCA4NyBcdTMwMDEgRmlyZWZveCA8IDc4IFx1MzAwMSBTYWZhcmkgPCAxNCBcdTMwMDEgRWRnZSA8IDg4XG4gKi9cbmltcG9ydCBsZWdhY3kgZnJvbSAnQHZpdGVqcy9wbHVnaW4tbGVnYWN5J1xuaW1wb3J0IHBvc3Rjc3MgZnJvbSAnLi4vLi4vcG9zdGNzcy5jb25maWcuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiBDb25maWdMZWdhY3lQbHVnaW4oKSB7XG4gIHJldHVybiBsZWdhY3koe1xuICAgIC8vIFx1NTE3Q1x1NUJCOVx1NzI0OFx1NjcyQ1x1RkYwQ1x1NUYxNVx1NzUyOHBvc3Rjc3MuY29uZmlnLmpzXHU0RTJEXHU3Njg0XHU1M0MyXHU2NTcwXHVGRjBDXHU0RTE0XHU4QkJFXHU3RjZFXHU0RTg2XHU5RUQ4XHU4QkE0XHU1MDNDXG4gICAgdGFyZ2V0czogcG9zdGNzcy5icm93c2Vyc0xpc3QgfHwgWydkZWZhdWx0cycsICdub3QgSUUgMTEnXSxcbiAgfSlcbn1cbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiRDpcXFxcZ2l0ZWVfcHJvamVjdFxcXFxMZWFndWVCYXJkXFxcXGZyb250ZW5kXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxccG9zdGNzcy5jb25maWcuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L2dpdGVlX3Byb2plY3QvTGVhZ3VlQmFyZC9mcm9udGVuZC9wb3N0Y3NzLmNvbmZpZy5qc1wiOy8qKlxuICogVE9ETzogQ2hyb21lIDwgODcgXHUzMDAxIEZpcmVmb3ggPCA3OCBcdTMwMDEgU2FmYXJpIDwgMTQgXHUzMDAxIEVkZ2UgPCA4OCBcdTY1RjZcdUZGMENcdTk3MDBcdTg5ODFcdTUwNUFcdTRGNEVcdTcyNDhcdTY3MkNcdTZENEZcdTg5QzhcdTU2NjhcdTUxN0NcdTVCQjlcbiAqICAgICAgIC5lbnYgXHU5MTREXHU3RjZFXHU2NTg3XHU0RUY2XHU0RTJEXHU1RkM1XHU5ODdCXHU1QzA2IFZJVEVfTEVHQUNZIFx1OTE0RFx1N0Y2RVx1OEJCRVx1N0Y2RVx1NEUzQSB0cnVlIFx1RkYwOFx1NkNFOFx1NjEwRlx1RkYwMVx1RkYwMVx1RkYwMVx1RkYwMVx1RkYwMVx1RkYwOVxuICovXG5jb25zdCBvdmVycmlkZUJyb3dzZXJzbGlzdCA9IFsnPiAxJScsICdsYXN0IDYgdmVyc2lvbnMnLCAnbm90IGRlYWQnLCAnbm90IGllIDExJywgJ0Nocm9tZSA+IDYwJ11cblxuZXhwb3J0IGRlZmF1bHQge1xuICBicm93c2Vyc0xpc3Q6IG92ZXJyaWRlQnJvd3NlcnNsaXN0LCAvLyBcdTRFQzVcdTc1MjhcdTRFOEVWaXRlXHU5ODc5XHU3NkVFYnVpbGQucGx1Z2luXHU0RjdGXHU3NTI4XG4gIHBsdWdpbnM6IHtcbiAgICBhdXRvcHJlZml4ZXI6IHtcbiAgICAgIG92ZXJyaWRlQnJvd3NlcnNsaXN0LFxuICAgIH0sXG4gIH0sXG59XG4iLCAiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcZ2l0ZWVfcHJvamVjdFxcXFxMZWFndWVCYXJkXFxcXGZyb250ZW5kXFxcXGJ1aWxkXFxcXHByb3h5LmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9EOi9naXRlZV9wcm9qZWN0L0xlYWd1ZUJhcmQvZnJvbnRlbmQvYnVpbGQvcHJveHkuanNcIjtjb25zdCBodHRwc1JFID0gL15odHRwczpcXC9cXC8vXG5cbi8qKlxuICogR2VuZXJhdGUgcHJveHlcbiAqIEBwYXJhbSBsaXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm94eShsaXN0ID0gW10pIHtcbiAgY29uc3QgcmV0ID0ge31cbiAgZm9yIChjb25zdCBbcHJlZml4LCB0YXJnZXRdIG9mIGxpc3QpIHtcbiAgICBjb25zdCBpc0h0dHBzID0gaHR0cHNSRS50ZXN0KHRhcmdldClcblxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9odHRwLXBhcnR5L25vZGUtaHR0cC1wcm94eSNvcHRpb25zXG4gICAgcmV0W3ByZWZpeF0gPSB7XG4gICAgICB0YXJnZXQsXG4gICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXG4gICAgICB3czogdHJ1ZSxcbiAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7cHJlZml4fWApLCAnJyksXG4gICAgICAvLyBodHRwcyBpcyByZXF1aXJlIHNlY3VyZT1mYWxzZVxuICAgICAgLi4uKGlzSHR0cHMgPyB7IHNlY3VyZTogZmFsc2UgfSA6IHt9KSxcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldFxufVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxnaXRlZV9wcm9qZWN0XFxcXExlYWd1ZUJhcmRcXFxcZnJvbnRlbmRcXFxcYnVpbGRcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkQ6XFxcXGdpdGVlX3Byb2plY3RcXFxcTGVhZ3VlQmFyZFxcXFxmcm9udGVuZFxcXFxidWlsZFxcXFx1dGlscy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRDovZ2l0ZWVfcHJvamVjdC9MZWFndWVCYXJkL2Zyb250ZW5kL2J1aWxkL3V0aWxzLmpzXCI7Ly8gXHU1OTA0XHU3NDA2XHU3M0FGXHU1ODgzXHU1M0Q4XHU5MUNGXHU3QzdCXHU1NzhCXG5leHBvcnQgZnVuY3Rpb24gd3JhcHBlckVudihlbnZDb25mKSB7XG4gIGNvbnN0IHJldCA9IHt9XG5cbiAgZm9yIChjb25zdCBlbnZOYW1lIG9mIE9iamVjdC5rZXlzKGVudkNvbmYpKSB7XG4gICAgbGV0IHJlYWxOYW1lID0gZW52Q29uZltlbnZOYW1lXS5yZXBsYWNlKC9cXFxcbi9nLCAnXFxuJylcbiAgICByZWFsTmFtZSA9IHJlYWxOYW1lID09PSAndHJ1ZScgPyB0cnVlIDogcmVhbE5hbWUgPT09ICdmYWxzZScgPyBmYWxzZSA6IHJlYWxOYW1lXG5cbiAgICBpZiAoZW52TmFtZSA9PT0gJ1ZJVEVfUE9SVCcpIHtcbiAgICAgIHJlYWxOYW1lID0gTnVtYmVyKHJlYWxOYW1lKVxuICAgIH1cbiAgICBpZiAoZW52TmFtZSA9PT0gJ1ZJVEVfUFJPWFknICYmIHJlYWxOYW1lKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZWFsTmFtZSA9IEpTT04ucGFyc2UocmVhbE5hbWUucmVwbGFjZSgvJy9nLCAnXCInKSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJlYWxOYW1lID0gJydcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0W2Vudk5hbWVdID0gcmVhbE5hbWVcbiAgICBpZiAodHlwZW9mIHJlYWxOYW1lID09PSAnc3RyaW5nJykge1xuICAgICAgcHJvY2Vzcy5lbnZbZW52TmFtZV0gPSByZWFsTmFtZVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlYWxOYW1lID09PSAnb2JqZWN0Jykge1xuICAgICAgcHJvY2Vzcy5lbnZbZW52TmFtZV0gPSBKU09OLnN0cmluZ2lmeShyZWFsTmFtZSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldFxufVxuIiwgIntcclxuICBcIm5hbWVcIjogXCJ2dWUzLXZpdGVcIixcclxuICBcInR5cGVcIjogXCJtb2R1bGVcIixcclxuICBcInZlcnNpb25cIjogXCIzLjAuMFwiLFxyXG4gIFwicHJpdmF0ZVwiOiB0cnVlLFxyXG4gIFwiZGVzY3JpcHRpb25cIjogXCJWdWUzIFZpdGVcdTZBMjFcdTY3N0ZcIixcclxuICBcImF1dGhvclwiOiBcInFpbmNhaVwiLFxyXG4gIFwiaG9tZXBhZ2VcIjogXCJodHRwczovL2dpdGVlLmNvbS9xaW5jYWkxMDI0L3Z1ZTMtdGVtcGxhdGUtdml0ZS1lczYuZ2l0XCIsXHJcbiAgXCJyZXBvc2l0b3J5XCI6IHtcclxuICAgIFwidHlwZVwiOiBcImdpdFwiLFxyXG4gICAgXCJ1cmxcIjogXCJodHRwczovL2dpdGVlLmNvbS9xaW5jYWkxMDI0L3Z1ZTMtdGVtcGxhdGUtdml0ZS1lczYuZ2l0XCJcclxuICB9LFxyXG4gIFwiZW5naW5lc1wiOiB7XHJcbiAgICBcIm5vZGVcIjogXCI+PTE4LjIwLjBcIixcclxuICAgIFwieWFyblwiOiBcIj49MS4yMi4wXCIsXHJcbiAgICBcInBucG1cIjogXCI+PTlcIlxyXG4gIH0sXHJcbiAgXCJzY3JpcHRzXCI6IHtcclxuICAgIFwiZGV2XCI6IFwidml0ZVwiLFxyXG4gICAgXCJidWlsZFwiOiBcInZpdGUgYnVpbGRcIixcclxuICAgIFwiYnVpbGQ6dGVzdFwiOiBcInZpdGUgYnVpbGQgLS1tb2RlIHRlc3RpbmdcIixcclxuICAgIFwicHJldmlld1wiOiBcInZpdGUgcHJldmlld1wiLFxyXG4gICAgXCJwcmV2aWV3OmJ1aWxkXCI6IFwibnBtIHJ1biBidWlsZDp0ZXN0ICYmIHZpdGUgcHJldmlld1wiLFxyXG4gICAgXCJsaW50OmZpeFwiOiBcImVzbGludCAtLW1heC13YXJuaW5ncyAwIFxcXCJzcmMvKiovKi57dnVlLGpzLHRzLHRzeH1cXFwiIC0tZml4XCIsXHJcbiAgICBcImxpbnQ6Zm9ybWF0XCI6IFwicHJldHRpZXIgLS1sb2ctbGV2ZWwgd2FybiAtLXdyaXRlIFxcXCJzcmMvKiovKi57anMsdHMsbGVzcyxzY3NzLGNzcyxqc29uLHZ1ZX1cXFwiXCIsXHJcbiAgICBcImxpbnRcIjogXCJucG0gcnVuIGxpbnQ6Zm9ybWF0ICYmIG5wbSBydW4gbGludDpmaXhcIixcclxuICAgIFwicHJlcGFyZVwiOiBcImh1c2t5XCIsXHJcbiAgICBcInByZWNvbW1pdFwiOiBcImh1c2t5ICYmIGVjaG8gJ25weCBsaW50LXN0YWdlZCcgPiAuaHVza3kvcHJlLWNvbW1pdFwiLFxyXG4gICAgXCJjb21taXRsaW50XCI6IFwiaHVza3kgJiYgZWNobyAnbnB4IC0tbm8gLS0gY29tbWl0bGludCAtLWVkaXQgJDEnID4gLmh1c2t5L2NvbW1pdC1tc2dcIlxyXG4gIH0sXHJcbiAgXCJkZXBlbmRlbmNpZXNcIjoge1xyXG4gICAgXCJAYW50ZnUvZXNsaW50LWNvbmZpZ1wiOiBcIl40LjExLjBcIixcclxuICAgIFwiQGFyY28tZGVzaWduL3dlYi12dWVcIjogXCJeMi41Ni4zXCIsXHJcbiAgICBcIkBhcmNvLXRoZW1lcy92dWUtdW5pYy1saW5lXCI6IFwiXjAuMi4xOVwiLFxyXG4gICAgXCJAd2FpbHNpby9ydW50aW1lXCI6IFwiXjMuMC4wLWFscGhhLjY2XCIsXHJcbiAgICBcImF4aW9zXCI6IFwiXjEuNy43XCIsXHJcbiAgICBcImRheWpzXCI6IFwiXjEuMTEuMTNcIixcclxuICAgIFwiaHR0cHNcIjogXCJeMS4wLjBcIixcclxuICAgIFwianMteWFtbFwiOiBcIl40LjEuMFwiLFxyXG4gICAgXCJwaW5pYVwiOiBcIl4yLjIuNlwiLFxyXG4gICAgXCJxc1wiOiBcIl42LjEzLjBcIixcclxuICAgIFwidnVlXCI6IFwiXjMuNS4xMlwiLFxyXG4gICAgXCJ2dWUtaTE4blwiOiBcIl4xMS4xLjJcIixcclxuICAgIFwidnVlLXJvdXRlclwiOiBcIl40LjQuNVwiXHJcbiAgfSxcclxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XHJcbiAgICBcIkBjb21taXRsaW50L2NsaVwiOiBcIl4xOS41LjBcIixcclxuICAgIFwiQGNvbW1pdGxpbnQvY29uZmlnLWNvbnZlbnRpb25hbFwiOiBcIl4xOS41LjBcIixcclxuICAgIFwiQGVzbGludC9qc1wiOiBcIl45LjE0LjBcIixcclxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW5cIjogXCJeOC4yNy4wXCIsXHJcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjogXCJeOC4yNy4wXCIsXHJcbiAgICBcIkB2aXRlanMvcGx1Z2luLWxlZ2FjeVwiOiBcIl41LjQuM1wiLFxyXG4gICAgXCJAdml0ZWpzL3BsdWdpbi12dWVcIjogXCJeNS4xLjRcIixcclxuICAgIFwiYXV0b3ByZWZpeGVyXCI6IFwiXjEwLjQuMjBcIixcclxuICAgIFwiZXNsaW50XCI6IFwiXjkuMjMuMFwiLFxyXG4gICAgXCJlc2xpbnQtY29uZmlnLXByZXR0aWVyXCI6IFwiXjkuMS4wXCIsXHJcbiAgICBcImVzbGludC1wbHVnaW4tcHJldHRpZXJcIjogXCJeNS4yLjFcIixcclxuICAgIFwiZXNsaW50LXBsdWdpbi12dWVcIjogXCJeOS4zMy4wXCIsXHJcbiAgICBcImh1c2t5XCI6IFwiXjkuMS42XCIsXHJcbiAgICBcImxpbnQtc3RhZ2VkXCI6IFwiXjE1LjIuMTBcIixcclxuICAgIFwicHJldHRpZXJcIjogXCJeMy4zLjNcIixcclxuICAgIFwicm9sbHVwLXBsdWdpbi12aXN1YWxpemVyXCI6IFwiXjUuMTIuMFwiLFxyXG4gICAgXCJzYXNzXCI6IFwiXjEuODYuMFwiLFxyXG4gICAgXCJzYXNzLWxvYWRlclwiOiBcIl4xNi4wLjVcIixcclxuICAgIFwidGVyc2VyXCI6IFwiXjUuMzYuMFwiLFxyXG4gICAgXCJ0eXBlc2NyaXB0XCI6IFwiXjUuOC4yXCIsXHJcbiAgICBcInVub2Nzc1wiOiBcIl42Ni4xLjAtYmV0YS41XCIsXHJcbiAgICBcInVucGx1Z2luLXZ1ZS1jb21wb25lbnRzXCI6IFwiXjAuMjcuNFwiLFxyXG4gICAgXCJ2aXRlXCI6IFwiXjUuNC4xMFwiLFxyXG4gICAgXCJ2aXRlLXBsdWdpbi1jaGVja2VyXCI6IFwiXjAuOC4wXCIsXHJcbiAgICBcInZpdGUtcGx1Z2luLWNvbXByZXNzaW9uMlwiOiBcIl4xLjMuMFwiLFxyXG4gICAgXCJ2aXRlLXBsdWdpbi12dWUtc2V0dXAtZXh0ZW5kXCI6IFwiXjAuNC4wXCIsXHJcbiAgICBcInZ1ZS1lc2xpbnQtcGFyc2VyXCI6IFwiXjkuNC4zXCJcclxuICB9LFxyXG4gIFwibGludC1zdGFnZWRcIjoge1xyXG4gICAgXCJzcmMvKiovKi57anMsdHMsdnVlfVwiOiBbXHJcbiAgICAgIFwibnBtIHJ1biBsaW50OmZpeFwiXHJcbiAgICBdLFxyXG4gICAgXCJzcmMvKiovKi57anMsdHMsbGVzcyxzY3NzLGNzcyxqc29uLHZ1ZX1cIjogW1xyXG4gICAgICBcIm5wbSBydW4gbGludDpmb3JtYXRcIlxyXG4gICAgXVxyXG4gIH0sXHJcbiAgXCJwcmV0dGllclwiOiB7XHJcbiAgICBcInByaW50V2lkdGhcIjogMTEwLFxyXG4gICAgXCJ0YWJXaWR0aFwiOiAyLFxyXG4gICAgXCJzZW1pXCI6IGZhbHNlLFxyXG4gICAgXCJzaW5nbGVRdW90ZVwiOiB0cnVlLFxyXG4gICAgXCJ0cmFpbGluZ0NvbW1hXCI6IFwibm9uZVwiLFxyXG4gICAgXCJlbmRPZkxpbmVcIjogXCJsZlwiXHJcbiAgfVxyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBc1MsU0FBUyxlQUFlO0FBQzlULE9BQU8sWUFBWTtBQUNuQixTQUFTLGNBQWMsZUFBZTtBQUN0QyxPQUFPLG9CQUFvQjs7O0FDQzNCLE9BQU8sU0FBUzs7O0FDQWhCLFNBQVMsa0JBQWtCO0FBRXBCLFNBQVMsc0JBQXNCO0FBQ3BDLFNBQU8sV0FBVztBQUFBLElBQ2hCLFVBQVU7QUFBQSxJQUNWLE1BQU07QUFBQTtBQUFBLElBQ04sVUFBVTtBQUFBLElBQ1YsWUFBWTtBQUFBLEVBQ2QsQ0FBQztBQUNIOzs7QUNiNlUsU0FBUyxvQkFBb0I7QUFLMVcsT0FBTyxnQkFBZ0I7QUFFaEIsU0FBUyx5QkFBeUI7QUFDdkMsU0FBTyxXQUFXO0FBQUEsSUFDaEIsS0FBSztBQUFBO0FBQUEsSUFDTCxXQUFXO0FBQUEsTUFDVCxhQUFhO0FBQUEsUUFDWCxhQUFhO0FBQUE7QUFBQSxRQUNiLGNBQWM7QUFBQTtBQUFBLE1BQ2hCLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRixDQUFDO0FBQ0g7OztBQ2JBLFNBQVMsbUJBQW1CO0FBRXJCLFNBQVMsdUJBQXVCO0FBQ3JDLFNBQU8sWUFBWTtBQUFBLElBQ2pCLHNCQUFzQjtBQUFBO0FBQUEsSUFDdEIsV0FBVyxPQUFPO0FBQUE7QUFBQSxJQUNsQixXQUFXO0FBQUE7QUFBQSxFQUNiLENBQUM7QUFDSDs7O0FDUkEsT0FBTyxpQkFBaUI7QUFFakIsU0FBUyxxQkFBcUI7QUFDbkMsU0FBTyxZQUFZO0FBQUEsSUFDakIs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LE1BQU07QUFDakQsUUFBTSxVQUFVLFlBQVk7QUFDNUIsUUFBTSxNQUFNLFFBQVEsTUFBTSxRQUFRLElBQUksR0FBRyxFQUFFO0FBRzNDLFFBQU0sVUFBVSxXQUFXLEdBQUc7QUFDOUIsUUFBTSxFQUFFLGtCQUFrQixXQUFXLFlBQVksa0JBQWtCLElBQUk7QUFFdkUsU0FBTztBQUFBLElBQ0wsTUFBTTtBQUFBLElBQ04sU0FBUztBQUFBLE1BQ1AsT0FBTztBQUFBLFFBQ0w7QUFBQSxVQUNFLE1BQU07QUFBQSxVQUNOLGFBQWEsR0FBRyxZQUFZLDZCQUE2QixDQUFDO0FBQUEsUUFDNUQ7QUFBQSxRQUNBO0FBQUEsVUFDRSxNQUFNO0FBQUEsVUFDTixhQUFhLEdBQUcsWUFBWSxLQUFLLENBQUM7QUFBQSxRQUNwQztBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFFQSxLQUFLO0FBQUEsTUFDSCxjQUFjLENBQUM7QUFBQSxJQUNqQjtBQUFBO0FBQUEsSUFHQSxRQUFRO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUEsTUFDTixNQUFNO0FBQUE7QUFBQSxNQUVOLE9BQU8sWUFBWSxVQUFVO0FBQUE7QUFBQSxNQUU3QixRQUFRO0FBQUEsUUFDTixhQUFhLENBQUMsZ0JBQWdCLDhCQUE4QjtBQUFBLE1BQzlEO0FBQUEsSUFDRjtBQUFBLElBRUEsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLE9BQU8sR0FBRyxPQUFPLEdBQUcsZUFBZSxDQUFDO0FBQUEsSUFFbkUsUUFBUTtBQUFBO0FBQUEsTUFFTixjQUFjLEtBQUssVUFBVTtBQUFBLFFBQzNCO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBLGdCQUFlLG9CQUFJLEtBQUssR0FBRSxlQUFlO0FBQUEsTUFDM0MsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUVBLE9BQU87QUFBQTtBQUFBLE1BRUwsdUJBQXVCO0FBQUEsTUFDdkIsZUFBZTtBQUFBO0FBQUEsUUFFYixRQUFRO0FBQUEsVUFDTixnQkFBZ0I7QUFBQSxVQUNoQixnQkFBZ0I7QUFBQSxVQUNoQixnQkFBZ0I7QUFBQSxRQUNsQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFFQSxTQUFTO0FBQUEsTUFDUCxNQUFNLG9CQUFvQixDQUFDLGVBQWUsVUFBVSxJQUFJLENBQUM7QUFBQSxJQUMzRDtBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogWyJsb2FkRW52Il0KfQo=
